00:00:00

Gestion et maintenance d'un parc d'équipements industriels

Notes

  • Présentation du projet, du client, de ses besoins et des contraintes.
  • Les avantages de l'utilisation d'une solution à base de logiciels libres.
  • Présentation de la solution.
  • Présentation des outils utilisés et de la méthodoligie de développement.

La gestion de maintenance assistée par ordinateur est une méthode de gestion assistée d'un logiciel destiné aux services de maintenance d'une entreprise afin de l'aider dans ses activités.

— http://fr.wikipedia.org/wiki/GMAO

Notes

Introduction à la GMAO JOB

Notes

La GMAO JOB en quelques mots

  • Référencer ses équipements en entrant dans le détail de leur architecture technique.
  • Assurer le suivi et la maintenance de ces équipements.
  • Piloter l'activité de maintenance via des tableaux de bords.
  • Accessible en mode web 24h/24 depuis n'importe quel PC, tablette ou smartphone équipé d'un navigateur Google Chrome ou Firefox de dernière génération.
  • Interconnexion avec les applications du SI.
  • Utilisée par tous les services de l'entreprise : responsables d’opération et administratif, commerciaux, techniciens.
  • Mais aussi par les clients et partenaires.
  • Accès sécurisé : identifiant/mot de passe, HTTPS, LDAP.

Notes

Une GMAO développée pour la société ALMA Services

Notes

La société ALMA Services > Le métier

  • Société positionnée dans le secteur des équipements, installations et services pour la distribution des produits pétroliers en aval des raffineries.
  • Maintenance des camions citernes et dépôts pétroliers.
  • 10 établissements répartis sur le territoire français, 90 personnes.

ALMA Services - Camions et dépôts

ALMA Services

Notes

La société ALMA Services > Le besoin initial

  • Automatiser son processus métier de gestion des interventions sur son parc d'équipements.
  • Modéliser dans le détail l'architecture techniques de ses équipements.
  • Assurer la traçabilité de toutes les interventions techniques.
  • Impliquer tous les services de la société.
  • Offrir à ses clients un accès sécurisé à leurs données.
  • Produire des tableaux de bord et bilans pour suivi et piloter l'activité.
  • Connecter l'outil aux autres applications du SI : gestion clients, gestion des stocks, facturation, planification, ...
  • Une application web accessible 24h/24 en mobilité, réactive, ergonomique et évolutive.

Marketing et Statégie

Notes

  • Cycle de vie d'une intervention : revue de contrat, préparation et planification de la mission, exécution de la mission par le technicien, clôture administrative et financière.
  • Services impliqués : techniciens, responsables d’opération et administratifs, partenaires, clients, commerciaux, ...
  • Mobilité : tablette, PC tactiles équipés de connexion 3G

La société ALMA Services > Les contraintes

  • Importance de l'ergomie, notamment pour la saisie des rapports d'intervention par des techniciens non habitués à l'outil informatique.
  • Récupération de l'historique des données des anciennes GMAO de la société (constitution technique et historique des interventions) :
    • Une GMAO dépôts écrite en PHP
    • 7 GMAO "quasi" identiques écrites en Access

ALMA Services

Notes

  • Historique : assurer une continuité dans la traçabilité de toutes les interventions réalisées depuis les 10 dernières années

Un développement utilisant uniquement des outils et logiciels libres

Notes

Quels avantages par rapports aux logiciels propriétaires existants ?

  • Pas de coût d'acquisition de licence mais coût de développement initial.
  • Une indépendance totale vis à vis de l'éditeur/prestataire
    • Accès au code source
    • Changer de prestataire si nécessaire
    • L'internalisation du développement des évolutions et de la maintenance est possible
  • Des communautés d'utilisateurs et de développeurs apportent leur aide et assurent la perrenité des outils utilisés.
  • Et peut-être le principal : permet d'adapter la solutions aux besoins du client !

Adapter le logiciel à ses besoins, et non pas adapter ses besoins au logiciel.

Notes

  • Il existe des outils spécialisés au métier d'ALMA Services mais aucun ne répondait intégralement au besoin et étaient rétissant à s'adapter aux besoins d'ALMA.
  • Coût d'acquisition : peut être la contrainte la moins importante
  • Accès au code source : pouvoir vérifier la qualité de l'application. Le logiciel n'est pas une boîte noire.
  • Internaliser les développement : on trouve de plus en plus facilement des formations pour développeurs
  • Communautés : Ex en cas de bug : Ayant accès au code source des briques utilisées ils nous est possible d’investiguer, de résoudre le problème ou de le reporter efficacement pour aider d’autres développeurs à le corriger. Nous avons eu le cas avec un bug de fonctionnement des menus Twitter Bootstrap sur les tablettes Androïd.

  • Les outils de développement Open Source ont permis de répondre à l’intégralité des besoins, du développement du logiciel jusqu’à sa mise en production et son hébergement.

Des outils de développement Open Source de plus en plus utilisés

  • Il existe des outils Open Source permettant de répondre à quasiment tous les besoins : de la conception du logiciel à sa mise en production et son hébergement.
  • Des projets d'envergure les adoptent. Exemples pour le framework Django :

Autolib

Oscaro

mais aussi : La Nasa, le Washington Times, Google App Engine, ...

Notes

GMAO, les principales fonctionnalités

Notes

GMAO > Connexion sécurisée à l'application

GMAO : Écran de connexion

Écran de connexion

Notes

GMAO > Tableau de bord métier : piloter l'activité

Vue d'ensemble des interventions et des missions ; alertes sur les équipements et les contrats.

GMAO : Tableau de bord

Tableau de bord

Notes

  • Interventions : en cours, planifiées, en préparation, clôturées
  • Le tableau bord est personnalisé en fonction du profil. Un technicien y retourve son planning et la liste des rapports d'intervention qu'il doit remplir.

GMAO > Tableau de bord métier : piloter l'activité

GMAO : Tableau de bord

Suite du tableau de bord

Notes

GMAO > Constitution technique des équipements

Décrire finement les équipements faisant l'objet d'interventions de maintenance (ex : camion, dépôt pétrolier, station service).

GMAO : Camion

Fiche d'un camion citerne

Notes

GMAO > Constitution technique des équipements

L'application est conçue de manière à ce qu'il soit possible de développer de nouveaux types d'équipements (ex : éolienne, pipeline, station de mesure, téléphérique, ascenseur, ...).

GMAO : Dépôt

Fiche d'un dépôt pétrolier

Notes

GMAO > Les clients

La base de données Clients est synchronisée sur la base de données fournie par votre ERP/CRM (ex : Ciel Quantum, Sage, ERP maison, SugarCRM...).

GMAO : Gestion des clients

Fiche client

Notes

GMAO > Les clients

L'application de gestion des interventions permet d'enrichir cette base de données avec des informations utiles pour les interventions de maintenance (adresses, instruction particulières, documentation, ...).

GMAO : Gestion des clients

Suite de la fiche client

Notes

GMAO > Les contrats

Les contrats sont en lien avec les clients, les équipements et les interventions. Ils alimentent des alertes (ex : contrat arrivant à échéance) et des bilans graphiques.

GMAO : Gestion des contrats

Gestion de contrat

Notes

GMAO > Organisation mono ou multi-agences

Organisation des responsables et des techniciens par agence.

GMAO : Gestion des agences

Liste des agences

Notes

GMAO > Organisation mono ou multi-agences

Tableau de bord, planning et bilans par agence.

GMAO : Fiche agence

Détail d'une fiche agence

Notes

GMAO > Les intervenants

Liste des intervenants (nom, rattachement à une agence ou non, coordonnées...) réalisant les opérations de maintenance.

GMAO : Liste des intervenants

Liste des intervenants

Notes

GMAO > Les intervenants

Les intervenants sont responsables de saisir leurs rapports d'intervention dans l'outil.

GMAO : Fiche intervenant

Détail d'une fiche intervenant

Notes

GMAO > Les pièces détachées

Le module « Articles » permet de gérer toute la base de données des articles (pièces détachées) sur la base des informations fournies par votre ERP.

GMAO : Gestion des agences

Détail d'une fiche article

Notes

GMAO > Les stocks de pièces détachées

Le module « Stocks » permet de visualiser le contenu des stocks sur la base des informations fournies par votre ERP.

GMAO : Consultation des stocks

Consultation des stocks de pièces détachées

Notes

GMAO > Aide à la feuille de temps

Outil d'aide offrant aux intervenants le suivi des heures réalisées en intervention.

GMAO : Aide à la feuille

Consulter ses heures réalisées en intervention

Notes

Cela peut aider par exemple à la saisie des feuilles de temps par les employés.

GMAO > Aide à la planification

Outil permettant de planifier en avance des interventions récurrentes sur des équipements.

GMAO : Aide à la planification

Planifications d'interventions récurrentes

Notes

  • Plus qu'une aide à la saisie, ce module permet de préparer en avance son planning avec toutes les interventions à venir connues.

  • Des alertes informent en temps voulu les planificateurs de la nécessité de planifier une intervention.

GMAO > Aide à la planification

Planification d'une intervention et choix de la date pour la prochaine occurrence.

GMAO : Aide à la planification

Planification d'une intervention récurrente

Notes

GMAO > Planning

Le planning permet de suivre les interventions par agence ou par équipe et par intervenant.

GMAO : Planning

Interventions planifiées à venir

Notes

GMAO > Planning

GMAO : Planning

Consultation du résumé d'une ntervention à venir

Notes

GMAO > Planning

Le planning des intervenants est synchronisable avec Google Agenda.

GMAO : Google Agenda

Google Agenda

Notes

  • Agenda comprenant un calendrier par intervenant.
  • Cela offre une solution simple pour partager facilement des calendriers, et permet d' y accéder depuis son smartphone.

GMAO > Le rapport d'intervention

Automatisation complète du processus métier de gestion d'une intervention : de la revue de contrat jusqu'à l'envoi du rapport PDF au client ainsi qu'un document de pré-facturation à l'ERP.

GMAO : Rapport d'intervention

Rapport d'intervention : iniation de la mission et revue de contrat

Notes

  • Les interventions de maintenance sont réalisées par les intervenants sur les équipements.
  • Les étapes du cycle de vie sont organisées ainsi : Initiation mission, Revue de contrat, Préparation intervention, Exécution intervention (rapport de l'intervenant en mobilité), Clôture intervention, Intervention clôturée et mission pré-facturée.

GMAO > Le rapport d'intervention

GMAO : Rapport d'intervention

Rapport d'intervention : prépration et planification de l'intervention

Notes

GMAO > Le rapport d'intervention

GMAO : Rapport d'intervention

Rapport d'intervention : rapport du technicien

Notes

  • Il y a également un module activant la géolocalisation du lieu au moment de l'envoi du rapport PDF au client.

GMAO > Préparation de facture

Préparation de facture imprimable en PDF : rappel de la mission, du client, des temps passés, des déplacements et articles consommées. Envoi à l'ERP pour facturation.

GMAO : Préparation de facture

Préparation de facture

Notes

GMAO > Bilans et statistiques

De nombreux graphiques, statistiques, bilans peuvent être générés.

GMAO : Bilans et indicateurs par agences

Bilans et indicateurs par agences

Notes

GMAO > Bilans et statistiques

GMAO : Bilans par profil d'intervention

Bilans par profil d'intervention

Notes

GMAO > Bilans et statistiques

GMAO : Bilans par mois et par profil d'intervention ; Importance du curatif

Bilans par mois et par profil d'intervention ; Importance du curatif

Notes

GMAO > Bilans et statistiques

GMAO : Bilans par type d'équipement ; Consommatino d'articles

Bilans par type d'équipement ; Consommation d'articles

Notes

GMAO > Bilans et statistiques

GMAO : Taux de disponibilité

Taux de disponibilité

Notes

GMAO > Bilans et statistiques

GMAO : Carte des équipements et des agences

Carte des équipements et des agences

Notes

GMAO > Accès clients

Donner accès à ses clients à la constitution technique de leurs équipements et à l'historique des interventions de maintenance associées.

GMAO : Liste des accès clients

Liste des accès clients

Notes

GMAO > Accès clients

GMAO : Détail d'un accès client

Détail d'un accès client

Notes

  • On peut également avoir une photo d'accueil personnalisée.

GMAO > Utilisation en mobilité

L’application peut être utilisée dans le navigateur d'un smartphone ou d'une tablette connectée à Internet.

GMAO : Utilisation depuis une tablette

Utilisation depuis une tablette

Notes

GMAO > Utilisation en mobilité

GMAO : Utilisation depuis un smartphone

Utilisation depuis une smartphone

Notes

Les outils Open Source utilisés > Pour le développement

  • Interface utilisateur :
  • Langage de programmation : Python
  • Framework de développement : Django
  • Modules Django issus de la communauté : gestion de workflow, génération de PDF, support LDAP, etc.
  • Base de données : PostgreSQL
  • Tests automatisés : Jenkins
  • Déploiements automatisés : Fabric

En savoir plus : billet de blog sur makina-corpus.com

Notes

  • Twitter Bootstrap est une collection d'outils particulièrement bien adaptée pour la création d'applications métier. Il offre de nombreux composants permettant de réaliser rapidement des interfaces efficaces et responsives : système de grilles, formulaires, boutons, labels et badges, tooltips, barre de navigation, etc.
  • JQuery : boîte à outil indispensable du ninja JavaScript, offrant une API cross-browser qui simplifie la manipulation du DOM HTML, la gestion des animations, des événements utilisateur ou encore la création d'interfaces Ajax.
  • Django : Orienté MVC, très bien adapté pour le développement d'applications métier, il peut être utilisé avec les principales bases de données SQL du marché.
  • Tests automatisés (87% des lignes de code Python): ou comment assurer la maintenance de son application et ajouter sereinement de nouvelles fonctionnalités ! => L'ensemble des tests unitaires et fonctionnels de l'application JOB sont rejoués à chaque commit, et si le build ne passe pas les développeurs sont prévenus par email en temps réel avec la sanction à la clé : croissants au prochain petit déj !
  • Déploiements automatisés : Déployer une nouvelle instance, mises à jour, restauration d'une sauvegarde.

Les outils Open Source utilisés > Côté système

  • Système d'exploitation : Debian
  • Gestion des machines virtuelles : KVM (Kernel-based Virtual Machine)
  • Redondance des machines virtuelles hébergées sur deux serveurs miroirs : DRBD (Distributed Replicated Block Device)
  • Supervision : Nagios
  • Gestion centralisée des comptes utilisateurs et de l’authentification aux applications : OpenLDAP, FusionDirectory
  • Sauvegardes multi-niveaux.

Notes

  • Améliorer la sécurisation et l'hébergement des applications.
  • KVM : Solution de virtualisation
  • DRBD : Réplication de périphériques de bloc (disques, partitions, volumes logiques etc...) entre des serveurs. Réplication en temps réel, de façon transparente, synchrone ou asynchrone. L’objectif étant de pouvoir basculer rapidement sur le serveur miroir avec le minimum de perte de données en cas de panne grave sur le serveur maître.

Contribuer en retour

Une bonne pratique est de redistribuer tout module réutilisable à la communauté, pour alimenter le cercle vertueux.

Deux contributions issues de ce projet :

  • django-db-faker : Module Django façilitant l'anonymisation des données d'une base de données Django.
  • django-jsignature : Module Django intégrant le module JQuery jSignature qui permet de capturer une signature manuelle réalisée via le navigateur.

django-jsignature

Notes

  • django-db-faker : très utile pour monter une instance de démonstration en repartant d'une base contenant des données réelles de production
  • django-jsignature : avec la souris ou dans l'idéal sur un écran tactile, permet au client de signer un rapport d'intervention qui lui sera transmis dans la foulée par e-mail

Gestion de projet Agile

  • Réunion hebdomadaire :
    • Démonstrations,
    • Validations,
    • Écriture du cahier des charges,
    • Choix des prochaines tâches à traiter.
  • Mises en production régulières et reccueil des retours utilisateurs au plus tôt.
  • Prise en compte du changement.

Obtenir une solution optimale correspondant aux besoins de ses utilisateurs.

Notes

  • Avoir des échanges fréquents entre le client et son prestataire.
  • Un groupe de travail complet chez le client : panel d'utilisateurs représentatif des futurs utilisateurs.
  • Un cahier des charges qui s'étoffe au fur et à mesure, pas de spécifications détaillées en début de projet.
  • Éviter l'effet tunnel.
  • Remettre en cause à tout moment ses choix pour prendre en compte l'évolution constante de ses besoins sous toutes ses formes (évolutions simples des besoins, changement de contexte économique, survenance de difficultés techniques) et à tous les stades du projet.

Workflow de développement avec Git

  • Git : un gestionnaire de code source décentralisé.

  • Un workflow de développement optimal intégrant :

    • Plusieurs développeurs développant les fonctionnalités du produit dans des branches séparées.
    • Des releases régulières assurées par un (et un seul) mainteneur : review du code, merge sur la branche master.
    • Plusieurs serveurs pour les instances de pré-production et production.
    • Des déploiements automatisés avec Fabric.
  • Pour en savoir plus sur le workflow Git mis en place : blog de Makina Corpus.

Notes

Merci !

Notes